home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / ArrowBGP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  2.5 KB  |  102 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2
  7. */ 
  8. /*   $RCSfile: ArrowBGP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:33:46 $ */
  9. /*
  10. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  11. #ifndef _XmArrowGadgetP_h
  12. #define _XmArrowGadgetP_h
  13.  
  14. #include <Xm/ArrowBG.h>
  15. #include <Xm/GadgetP.h>
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21. /*  Arrow class structure  */
  22.  
  23. typedef struct _XmArrowButtonGadgetClassPart
  24. {
  25.    XtPointer extension;
  26. } XmArrowButtonGadgetClassPart;
  27.  
  28.  
  29. /*  Full class record declaration for Arrow class  */
  30.  
  31. typedef struct _XmArrowButtonGadgetClassRec
  32. {
  33.    RectObjClassPart             rect_class;
  34.    XmGadgetClassPart            gadget_class;
  35.    XmArrowButtonGadgetClassPart arrow_button_class;
  36. } XmArrowButtonGadgetClassRec;
  37.  
  38. externalref XmArrowButtonGadgetClassRec xmArrowButtonGadgetClassRec;
  39.  
  40. /* "Gadget caching" is currently under investigation for ArrowBG.  It would
  41.  * be very desirable to cache the XRectangles, requiring immediate reference
  42.  * instead of indirectly through pointers.  ArrowBG will be cached by Beta.
  43.  */
  44. /*  The Arrow instance record  */
  45.  
  46. typedef struct _XmArrowButtonGadgetPart
  47. {
  48.    XtCallbackList activate_callback;
  49.    XtCallbackList arm_callback;
  50.    XtCallbackList disarm_callback;
  51.    unsigned char direction;      /*  the direction the arrow is pointing  */
  52.  
  53.    Boolean selected;
  54.  
  55.    short        top_count;
  56.    short        cent_count;
  57.    short        bot_count;
  58.    XRectangle * top;
  59.    XRectangle * cent;
  60.    XRectangle * bot;
  61.  
  62.    Position old_x;
  63.    Position old_y;
  64.  
  65.    GC               arrow_GC;        /* graphics context for arrow drawing */
  66.    XtIntervalId     timer;    
  67.    unsigned char    multiClick;     /* KEEP/DISCARD resource */
  68.    int              click_count;
  69.    GC               insensitive_GC; /* graphics context for insensitive arrow drawing */
  70.  
  71. } XmArrowButtonGadgetPart;
  72.  
  73.  
  74. /*  Full instance record declaration  */
  75.  
  76. typedef struct _XmArrowButtonGadgetRec
  77. {
  78.    ObjectPart              object;
  79.    RectObjPart             rectangle;
  80.    XmGadgetPart            gadget;
  81.    XmArrowButtonGadgetPart arrowbutton;
  82. } XmArrowButtonGadgetRec;
  83.  
  84.  
  85. /********    Private Function Declarations    ********/
  86. #ifdef _NO_PROTO
  87.  
  88.  
  89. #else
  90.  
  91.  
  92. #endif /* _NO_PROTO */
  93. /********    End Private Function Declarations    ********/
  94.  
  95.  
  96. #ifdef __cplusplus
  97. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  98. #endif
  99.  
  100. #endif /* _XmArrowGadgetP_h */
  101. /* DON'T ADD ANYTHING AFTER THIS #endif */
  102.